package com.example.saiweisi.service.impl.sysTemAdminService;

import com.example.saiweisi.controller.request.ChefAdminRequest;
import com.example.saiweisi.controller.request.WaiterAdminRequest;
import com.example.saiweisi.mapper.systemAdminMapper.WaiterAdminMapper;
import com.example.saiweisi.model.WaiterAdmin;
import com.example.saiweisi.service.interf.IWaiterAdminService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class WaiterAdminService implements IWaiterAdminService{
    @Autowired
    WaiterAdminMapper waiterAdminMapper;
    @Override
    public PageInfo<WaiterAdmin> page(WaiterAdminRequest waiterAdminRequest) {
        PageHelper.startPage(waiterAdminRequest.getPageNum(), waiterAdminRequest.getPageSize());
        List<WaiterAdmin> userList = waiterAdminMapper.waiteradminlistByCondition(waiterAdminRequest);
        return new PageInfo<>(userList);
    }

    @Override
    public void addwaiteradmin(WaiterAdmin waiterAdmin) {
        //遍历数据库，将最大的 num加一 赋值给新用户，来达到生成唯一标识符的目的
        int s=1;
        List<WaiterAdmin> list=waiterAdminMapper.getall();
        for (WaiterAdmin a:list
        ) {
            if(Integer.parseInt(a.getWaiterAdminNum().substring(1))>s){
                s=Integer.parseInt(a.getWaiterAdminNum().substring(1));
            }
        }
//        String b=IdUtil.fastSimpleUUID();
//        Integer a=Integer.parseInt(b);
        waiterAdmin.setWaiterAdminNum("400"+Integer.toString(s+1));
        waiterAdminMapper.addwaiteradmin(waiterAdmin);
    }

    @Override
    public void deletewaiteradmin(Integer waiterAdminId) {
        waiterAdminMapper.deletewaiteradmin(waiterAdminId);
    }

    @Override
    public WaiterAdmin getById(Integer waiterAdminId) {
        return waiterAdminMapper.getById(waiterAdminId);
    }

    @Override
    public void updatewaiteradmin(WaiterAdmin waiterAdmin) {
        waiterAdminMapper.updatewaiteradmin(waiterAdmin);
    }

    @Override
    public void deleteswaiteradmin(List<Integer> waiterAdminIds) {
        for (Integer a:waiterAdminIds
             ) {
            waiterAdminMapper.deletewaiteradmin(a);
        }
    }

    @Override
    public void resetPassword(Integer waiterAdminId) {
        waiterAdminMapper.resetPassword(waiterAdminId);
    }
}
